package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品（含库存信息）对象 a_wm_product
 * 
 * @author ruoyi
 * @date 2025-03-27
 */
public class AWmProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品ID */
    private Long productId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 商品类型（1 龙薯九 2西瓜红） */
    @Excel(name = "商品类型", readConverterExp = "1=,龙=薯九,2=西瓜红")
    private Long productType;

    /** 商品单价（元/斤） */
    @Excel(name = "商品单价", readConverterExp = "元=/斤")
    private BigDecimal unitPrice;

    /** 商品总重量（斤） */
    @Excel(name = "商品总重量", readConverterExp = "斤=")
    private BigDecimal totalWeight;

    /** 商品总价 */
    private BigDecimal totalPrice;

    /** 商品入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "商品入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date storageTime;

    /** 当前库存重量（斤） */
    @Excel(name = "当前库存重量", readConverterExp = "斤=")
    private BigDecimal currentWeight;

    /** 关联订单ID */
    @Excel(name = "关联订单ID")
    private Long orderId;

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }

    public void setProductType(Long productType) 
    {
        this.productType = productType;
    }

    public Long getProductType() 
    {
        return productType;
    }

    public void setUnitPrice(BigDecimal unitPrice) 
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice() 
    {
        return unitPrice;
    }

    public void setTotalWeight(BigDecimal totalWeight) 
    {
        this.totalWeight = totalWeight;
    }

    public BigDecimal getTotalWeight() 
    {
        return totalWeight;
    }

    public void setTotalPrice(BigDecimal totalPrice) 
    {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getTotalPrice() 
    {
        return totalPrice;
    }

    public void setStorageTime(Date storageTime) 
    {
        this.storageTime = storageTime;
    }

    public Date getStorageTime() 
    {
        return storageTime;
    }

    public void setCurrentWeight(BigDecimal currentWeight) 
    {
        this.currentWeight = currentWeight;
    }

    public BigDecimal getCurrentWeight() 
    {
        return currentWeight;
    }

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("productId", getProductId())
            .append("productName", getProductName())
            .append("productType", getProductType())
            .append("unitPrice", getUnitPrice())
            .append("totalWeight", getTotalWeight())
            .append("totalPrice", getTotalPrice())
            .append("storageTime", getStorageTime())
            .append("currentWeight", getCurrentWeight())
            .append("updateTime", getUpdateTime())
            .append("orderId", getOrderId())
            .toString();
    }
}
